<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>10_slice</title>
</head>

<body>
  <script>
    /**
     * slice()
     * 语法: 数组.slice(开始索引, 结束索引)
     *    => 开始索引: 默认值是 0
     *    => 结束索引: 默认值是 length
     * 特点: 
     *    => 包前不包后
     *    => 可以填写负整数, 当你填写负整数的时候, 等价于 负整数+length(倒着数)
     * 作用: 截取数组, 从数组内复制一些内容出来
     * 返回值: 必然是一个新的数组
     *    => 你截取了多少内容, 新数组里面就有多少内容
     *    => 你如果没有截取内容, 那么就是一个空的新数组
     * 注意: 不会改变原始数组
    */

    var arr = [0, 1, 2, 3, 4];
    console.log('原始数组:', arr);

    // 从【1】开始截取到【4】, 包含【1】位置, 不包含【4】位置
    var result1 = arr.slice(1, 4)
    console.log('截取之后:', arr);
    console.log('返回值:', result1);


    // 第二个参数可以不写, 表示直接到数组的末尾
    var result2 = arr.slice(1)
    console.log('第二个参数不写', result2);


    // 第一个参数也可以不写, 表示【0】
    var result3 = arr.slice()
    console.log('第一个参数不写', result3);


    // 负整数: 常用在第二个参数位置
    var result4 = arr.slice(0, -1);
    console.log('负整数1:', result4);
  </script>
</body>

</html>
